// VideoImageCapDlg.h : header file
//

#if !defined(AFX_VIDEOIMAGECAPDLG_H__8C150DF3_022B_4AC8_ADCD_F42115DC7904__INCLUDED_)
#define AFX_VIDEOIMAGECAPDLG_H__8C150DF3_022B_4AC8_ADCD_F42115DC7904__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "FrameGrabCallback.h"
/////////////////////////////////////////////////////////////////////////////
// CVideoImageCapDlg dialog

class CVideoImageCapDlg : public CDialog
{
	CString m_strURL;
	CString m_strSaveTo;
	BOOL m_bCallBackCheck;
	FrameGrabCallback   m_FrameGrabCallback;
	ISampleGrabber *m_pGrabber;
// Construction
public:
	CVideoImageCapDlg(CWnd* pParent = NULL);	// standard constructor

public:
	BOOL SaveBufferToBitmap(AM_MEDIA_TYPE);
	BOOL CaptureImage();
	HRESULT GetPin(IBaseFilter *pFilter, PIN_DIRECTION PinDir, IPin **ppPin);
	HRESULT ConnectFilters(IGraphBuilder *pGraph, IBaseFilter *pFirst, IBaseFilter *pSecond);

// Dialog Data
	//{{AFX_DATA(CVideoImageCapDlg)
	enum { IDD = IDD_VIDEOIMAGECAP_DIALOG };
	CEdit	m_strSavePath;
	CEdit	m_strStreamingUrl;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CVideoImageCapDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CVideoImageCapDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnCapturePic();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_VIDEOIMAGECAPDLG_H__8C150DF3_022B_4AC8_ADCD_F42115DC7904__INCLUDED_)
